export default class CustomTooltip {
    constructor(stage) {
        this.stage = stage; // 关联 jtopo Stage
        this.createDOM();   // 创建提示框 DOM
        this.hide();        // 默认隐藏
    }

    // 创建提示框 DOM 结构
    createDOM() {
        this.tooltipEl = document.createElement('div');
        this.tooltipEl.className = 'custom-tooltip';
        // 挂载到 body（确保层级高于 stage）
        document.body.appendChild(this.tooltipEl);
    }

    // 设置提示文本/HTML
    setHtml(html) {
        this.tooltipEl.innerHTML = html;
    }

    // 在指定坐标显示（接收 jtopo inputSystem 的 x/y 或页面坐标）
    showAt(x, y) {
        // 定位：基于页面坐标（jtopo inputSystem 的 x/y 是 stage 内坐标，需转页面坐标可加偏移）
        this.tooltipEl.style.left = `${x + 70}px`; // 鼠标右侧偏移 10px
        this.tooltipEl.style.top = `${y -30}px`;
        this.tooltipEl.style.display = 'block';
    }

    // 隐藏提示框
    hide() {
        this.tooltipEl.style.display = 'none';
    }

    // 销毁控件（可选）
    destroy() {
        document.body.removeChild(this.tooltipEl);
    }
}